From 8615a52ca3bdc3c49c9829cb461f3cc9c764959f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 11 Mar 2015 21:45:48 -0400 Subject: [PATCH] Add some reftests related to textview tags This test shows that a) tags override the text view style and b) tags override each other in the expected way. --- testsuite/reftests/Makefile.am | 3 ++ testsuite/reftests/textview-tags.c | 57 +++++++++++++++++++++++++ testsuite/reftests/textview-tags.css | 6 +++ testsuite/reftests/textview-tags.ref.ui | 49 +++++++++++++++++++++ testsuite/reftests/textview-tags.ui | 49 +++++++++++++++++++++ 5 files changed, 164 insertions(+) create mode 100644 testsuite/reftests/textview-tags.c create mode 100644 testsuite/reftests/textview-tags.css create mode 100644 testsuite/reftests/textview-tags.ref.ui create mode 100644 testsuite/reftests/textview-tags.ui diff --git a/testsuite/reftests/Makefile.am b/testsuite/reftests/Makefile.am index 607a4f139c..d8b8010063 100644 --- a/testsuite/reftests/Makefile.am +++ b/testsuite/reftests/Makefile.am @@ -418,6 +418,8 @@ testdata = \ textview-margins.css \ textview-margins.ref.ui \ textview-margins.ui \ + textview-tags.ref.ui \ + textview-tags.ui \ toplevel-vs-popup.ref.ui \ toplevel-vs-popup.ui \ treeview-crash-too-wide.ref.ui \ @@ -493,6 +495,7 @@ libreftest_la_SOURCES = \ set-default-direction.c \ statusbar-remove-all.c \ textview-border-windows.c \ + textview-tags.c \ $(NULL) -include $(top_srcdir)/git.mk diff --git a/testsuite/reftests/textview-tags.c b/testsuite/reftests/textview-tags.c new file mode 100644 index 0000000000..5a4902349c --- /dev/null +++ b/testsuite/reftests/textview-tags.c @@ -0,0 +1,57 @@ + +/* + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library. If not, see . + */ + +#include "config.h" + +#include + + +G_MODULE_EXPORT void +apply_tags_blue (GtkTextView *text_view) +{ + GtkTextBuffer *buffer; + GtkTextIter start, end; + GtkTextIter four, eight; + + buffer = gtk_text_view_get_buffer (text_view); + gtk_text_buffer_get_bounds (buffer, &start, &end); + gtk_text_buffer_apply_tag_by_name (buffer, "blue", &start, &end); + four = start; + eight = start; + gtk_text_iter_forward_chars (&four, 4); + gtk_text_iter_forward_chars (&eight, 8); + gtk_text_buffer_apply_tag_by_name (buffer, "black", &four, &end); + gtk_text_buffer_apply_tag_by_name (buffer, "white", &eight, &end); +} + +G_MODULE_EXPORT void +apply_tags_red_blue (GtkTextView *text_view) +{ + GtkTextBuffer *buffer; + GtkTextIter start, end; + GtkTextIter four, eight; + + buffer = gtk_text_view_get_buffer (text_view); + gtk_text_buffer_get_bounds (buffer, &start, &end); + gtk_text_buffer_apply_tag_by_name (buffer, "red", &start, &end); + gtk_text_buffer_apply_tag_by_name (buffer, "blue", &start, &end); + four = start; + eight = start; + gtk_text_iter_forward_chars (&four, 4); + gtk_text_iter_forward_chars (&eight, 8); + gtk_text_buffer_apply_tag_by_name (buffer, "black", &four, &eight); + gtk_text_buffer_apply_tag_by_name (buffer, "white", &eight, &end); +} diff --git a/testsuite/reftests/textview-tags.css b/testsuite/reftests/textview-tags.css new file mode 100644 index 0000000000..899bbeb434 --- /dev/null +++ b/testsuite/reftests/textview-tags.css @@ -0,0 +1,6 @@ +@import "reset-to-defaults.css"; + +GtkTextView { + color: yellow; + background-color: yellow; +} diff --git a/testsuite/reftests/textview-tags.ref.ui b/testsuite/reftests/textview-tags.ref.ui new file mode 100644 index 0000000000..8b9fede1be --- /dev/null +++ b/testsuite/reftests/textview-tags.ref.ui @@ -0,0 +1,49 @@ + + + + + + + red + red + Normal + + + + + blue + blue + Normal + + + + + black + black + Normal + + + + + white + white + Normal + + + + + texttagtable1 + red or blue or what + + + False + + + True + True + textbuffer1 + + + + + diff --git a/testsuite/reftests/textview-tags.ui b/testsuite/reftests/textview-tags.ui new file mode 100644 index 0000000000..c04ebf0e1b --- /dev/null +++ b/testsuite/reftests/textview-tags.ui @@ -0,0 +1,49 @@ + + + + + + + red + red + Normal + + + + + blue + blue + Normal + + + + + black + black + Normal + + + + + white + white + Normal + + + + + texttagtable1 + red or blue or what + + + False + + + True + True + textbuffer1 + + + + + -- 2.30.2